package org.kx.dao;

import org.apache.ibatis.annotations.Param;
import org.kx.bean.MyStudent;
import org.kx.bean.Student;
import org.kx.vo.QueryParam;
import org.kx.vo.ViewStudent;

import java.util.List;
import java.util.Map;

public interface StudentDao {

    Student selectStudentById(Integer id);

    List<Student> selectMultiParam(@Param("myname") String name, @Param("myage") Integer id);

    ViewStudent selectStudentReturnViewStudent(@Param("sid") Integer id);

    int countStudent();

    //定义方法返回Map
    Map<Object,Object> selectMapById(Integer id);

    /**
     * 使用resultMap定义映射关系(数据库列名和java类型属性名不一致)
     * 方法一
     */
    List<MyStudent> selectAllStudents();

    /**
     * 使用resultMap定义映射关系(数据库列名和java类型属性名不一致)
     * 方法二
     */
    List<MyStudent> selectDiffColProperty();

    /*第一种模糊查询，在java代码指定 like的内容*/
    List<Student> selectLikeOne(String name);
    /*第二种模糊查询，在mapper文件中拼接 like "%" user "%"*/
    List<Student> selectLikeTwo(String name);
}
